package com.example.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.domain.dto.request.LoginRequest;
import com.example.domain.dto.request.RegisterRequest;
import com.example.domain.entity.Person;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.domain.query.PersonQuery;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author baomidou
 * @since 2025-05-12
 */
public interface IPersonService extends IService<Person> {
    IPage<Person> pageQuery(PersonQuery query, int pageNum, int pageSize);

    /**
     * 用户注册
     * @param request 注册请求
     * @return 注册成功的用户信息
     */
    Person register(RegisterRequest request);

    /**
     * 用户登录
     * @param request 登录请求
     * @return 登录成功的用户信息
     */
    Person login(LoginRequest request);

    /**
     * 修改密码
     * @param phone 手机号
     * @param newPassword 新密码
     * @return 是否成功
     */
    boolean updatePassword(String phone, String newPassword);
}
